
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客详情页</title>
    <link rel="stylesheet" href="css/blog_detail.css">
    <link rel="stylesheet" href="css/common.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
    <script src="jquery.js"></script>
    <script src="editor.md/lib/marked.min.js"></script>
    <script src="editor.md/lib/prettify.min.js"></script>
    <script src="editor.md/editormd.js"></script>
</head>
<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="images/1.jpg" alt="">
        <span >我的博客系统</span>
        <!-- 空白元素，用来起占位效果 -->
        <div class="spacer"></div>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <a href="logout">注销</a>
    </div>
    <!-- 这里的.container作为页面的版心 -->
    <div class="container">
        <!-- 左侧个人信息 -->
        <div class="left">
            <!-- 用来表示整个用户信息 -->
            <div class="card">
                <img src="./images/阿拉斯加.jpg" alt="">
                <h3></h3>
                <a href="#">博客网址</a>
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="counter">
                    <span id="blogcount"></span>
                    <span>1</span>
                </div>
            </div>
        </div>
        <!-- 右侧内容详情 -->
        <div class="right">
            <!-- 使用这个div来包括整个博客内容详情 -->
            <div class="blog-content">
                <!-- 博客标题 -->
                <h3></h3>
                <!-- 博客时间 -->
                <div class="date"></div>
                <!-- 正文 -->
                <div id="content" style="opacity:80%"></div>
            </div>
        </div>
    </div>

    <script src="common.js"></script>
    <script>
        // 获取博客详细内容
        function getBlogDetail() {
            let rightDiv = document.querySelector('.right');
            let blogcontent = document.querySelector('.blog-content');
            $.ajax({
                type: 'get',
                // 将blogId拼接上去
                url: 'blogDetail' + location.search,
                success: function(body) {
                    // 根据body中的内容构造页面
                    // 要取到 blog-content 中的 h3 标签，可以通过>
                    // 构造博客标题
                    let h3 = document.querySelector('.blog-content>h3');
                    h3.innerHTML = body.title;
                    // 构造博客时间
                    let dateDiv = document.querySelector('.blog-content>.date');
                    dateDiv.innerHTML = body.postTime;
                    // 构造博客正文
                    // 如果直接把 content 设为 innerHTML，此时在页面展示的就是 markdown 字符串
                    // 我们需要的是渲染后的，带有格式的正文
                    // let content = document.querySelector('content');
                    // content.innerHTML = '<p>' + body.content + '<p>';
                    
                    // 通过editor.md来实现
                    // 第一个参数表示把渲染后的文本放到哪个标签中
                    // 第二个参数表示把什么文本进行渲染
                    editormd.markdownToHTML("content", {
                        markdown: body.content
                    })
                },
                error: function() {
                    alert("获取博客失败!")
                }
            });
        }

        function getAuthorInfo(user) {
            $.ajax({
                type: 'get',
                url: 'authorInfo' + location.search,
                success: function(body) {
                    if(body.userName && body.blogCount) {
                        // 设置左侧的用户名
                        setUserName(body.userName);
                        // 设置左侧的博客数量
                        setBlogCount(body.blogCount);
                        if(user.userName == body.userName) {
                            // 表示用户和作者是同一个人，添加删除按钮
                            // 在导航栏处添加一个删除按钮
                            let navDiv = document.querySelector(".nav");
                            let del = document.createElement('a');
                            del.innerHTML = '删除博客';
                            del.href = 'blogDelete' + location.search;
                            navDiv.appendChild(del);
                        }
                    }else {
                        console.log("获取用户信息失败" + body.reason)
                    }
                },
                error: function() {
                    alert("获取用户信息失败!");
                }
            });
        }

        // 判断登录状态
        getLoginInfo('blog_detail.html');
        // 在页面加载时先判断登陆状态，向服务器发送一个GET /login请求
        function getLoginInfo(pageName) {
            $.ajax({
                type: 'get',
                url: 'blogLogin',
                success: function (body) {
                    let userId = body.userId;
                    if(userId == null || userId == 0) {
                        alert("尚未登录!");
                        // 跳转到登录页
                        location.assign("blog_login.html");
                        return;
                    }
                    // 已登录，打印一个提示信息
                    // 只有确认登录了，才能加载博客详情和用户信息，因此把加载博客详情和用户信息的函数放到这里
                    getBlogDetail();
                    getAuthorInfo(body);
                    console.log("用户已登录，用户名为：" + body.userName);
                    console.log("用户博客数为：" + body.blogCount);
                },
                error: function () {
                    alert("获取请求失败!");
                    // 跳转到登录页

                }
            });
        };

    </script>
</body>